
{% if entity.id is  null %}
<form  id="form"  class="form-horizontal" action="{{ path('persona_create') }}" method="post" {{ form_enctype(form) }}>

{% elseif entity.id is not null %}
    <form  id="form"  class="form-horizontal" action="{{ path('persona_update', { 'id': entity.id }) }}" method="post" {{ form_enctype(form) }}>

{% else %}
{% endif %}

{{ form_errors(form) }}


{{ form_widget(form._token) }}  

        <fieldset>

            <legend>Editar datos del {{type}}</legend>
            <div class="span5">


                <div class="control-group">
                    <label class="control-label required" >Dni</label>
                    <div class="controls">
                                {{ form_widget(form.dni) }}
                        </div>
                    </div>
                    <div class="control-group">
                        <label class="control-label required" >Nombre</label>
                {{ form_errors(form.nombre) }}
                        <div class="controls">
                   {{ form_widget(form.nombre) }}
                            </div>
                        </div>

                        <div class="control-group">
                            <label class="control-label required">Apellido</label>
                {{ form_errors(form.apellido) }}
                            <div class="controls">
                   {{ form_widget(form.apellido) }}
                                </div>
                            </div>
                            <div class="control-group">
                                <label class="control-label required">Email</label>
                                <div class="controls">
                {{ form_errors(form.email) }}
                   {{ form_widget(form.email) }}
                                    </div>
                                </div>
                            </div>
                            <div class="span6">
                                <div class="control-group">
                                    <label class="control-label required">Tel&eacute;fono</label>
                {{ form_errors(form.telefono) }}
                                    <div class="controls">
                   {{ form_widget(form.telefono) }}
                                        </div>
                                    </div>


                                    <div class="control-group">
                                        <label class="control-label required">Direcci&oacute;n</label>
                {{ form_errors(form.direccion) }}
                                        <div class="controls">
                   {{ form_widget(form.direccion) }}
                                            </div>
                                        </div>


                                        <div class="control-group">
                                            <label class="control-label required">C&oacute;digo Postal</label>
                {{ form_errors(form.codigopostal) }}
                                            <div class="controls">
                   {{ form_widget(form.codigopostal) }}
                                                </div>
                                            </div>

                                            <div class="control-group">
                                                <div class="controls">
                                                    <a href="{{ path('inscripto_update', { 'id': entity.id }) }}" data-row="{{type}}-{{entity.id}}" type="submit" class="btn btn-warning save"><i class="icon-edit"></i> Guardar</button>
                                                        <a class="btn btn-cancel" href="{{ path('concurso') }}">Cancelar</a>
                                                </div>
                                            </div>
                                        </div>
                                        <fieldset>
                                            </form>



                                            <script type="text/javascript">
                    $(function(){
                            $(".btn-cancel").on('click', function(e){
                                e.preventDefault();
                                closeDialog();
                        });
                      $('.date').datepicker({ dateFormat: 'dd/mm/yy' });                     
                      $(".save").on('click',function(e){
                          e.preventDefault();
                           var $this =  $(this);
                                    var to_go = $this.attr('href');
                                    var $row = $("#"+$this.attr('data-row'));
                                    console.log("en el form el row",$this.attr('data-row'));
                                     var to_send = $("#form").formParams();  
                                   
                                   if(validateAjaxInputs()){
                                   $.ajax({
                                    url:to_go,
                                    type:'POST',
                                     data:to_send,
                                    beforeSend:function(){
                                        $('#form').spin();
                                },
                                    complete:function(data){
                                         $('#form').spin(false);
                                       var result =$.evalJSON(data.responseText);
                                       if(result.status){
                                           console.log("row->",$row);
                                          updateRow($row.children(),result.entity);
                                          showMsj(result);
                                          $("#target-dialog").dialog('close');
                                       }else{
                                           $.each(result.errors, function(i,e){
                                               console.log("e",e);
                                               $(e.key).parent().append('<span class="help-block">'+e.msj+'</span>').parent().addClass("error");
                                           
                                       
                                   });
                                       }
                       
                       
                                }
                
                            })//fin ajax
                   }
                
                            });//fin click
            

                            function validateAjaxInputs() {
    $.validity.setup({outputMode:"bootstrap"});
  

    $.validity.start();
    
   

    //validacion campo dni
    $("#PersonaType_dni")                        
    .require("El dni es obligatorio")                         
    .match("integer","Debe ser un nro.")
    .maxLength( 8, "El campo debe tener 8 digitos numericos" )
    .minLength( 8, "El campo debe tener 8 digitos numericos" ); 
    
    //validacion campo nombre
    $("#PersonaType_nombre")                        
    .require("Es obligatorio")
    .maxLength( 50, "El campo no puede superar los 50 caracteres")
    ;                         

    //validacion campo apellido
    $("#PersonaType_apellido")                        
    .require("Es obligatorio")
    .maxLength( 50, "El campo no puede superar los 50 caracteres");                         
    
    //validacion campo email
    $("#PersonaType_email")                        
    .require("Es obligatorio") 
    .match("email","Debe ser un mail valido.")
    .maxLength( 50, "El campo no puede superar los 50 caracteres");
    
    $("#PersonaType_telefono") 
    .match("integer","Debe ser un nro.")
    .maxLength( 20, "El campo no puede superar los 20 caracteres");
    
    //validacion campo codigo postal
    $("#PersonaType_codigopostal")                        
    .match("integer","Debe ser un nro.")
    .maxLength( 4, "El campo debe tener 4 digitos numericos" )
    .minLength( 4, "El campo debe tener 4 digitos numericos" )
    ;
    
    //validacion campo direccion
    $("#PersonaType_direccion")                        
     .maxLength( 100, "El campo no puede superar los 100 caracteres")
    ;


    var result = $.validity.end();

    // Return whether it's okay to proceed with the Ajax:
    return result.valid;
    
    
    
    
    
    
}


                            
                            
                            
                            
                            
                            
                  function getInputPosition(){
                          return ['dni','apellido','nombre','email','telefono','direccion','codigopostal'];
                      }
                      function updateRow($childrens,array_values){
                            var inputs = getInputPosition();      
                            $.each($childrens, function(i,el){
                                var $el = $(el);
                                var is_link =  $el.hasClass('with-link');
                                var a_links = $el.find('a');
                                if( a_links.length ==0 ||is_link){
                                    if(!is_link){
                                      $el.text(array_values[inputs[i]])
                                }else{
                                      //el caso del dni que lleva al show persona
                                      $(a_links[0]).text(array_values[inputs[i]])
                                } 
                
                                }
                            });}

            
                           function closeDialog(){$("#target-dialog").dialog('close');}
                           function showMsj(response){
                               var output="";
                              if(response.status){                                
                              $("#freeow").freeow("",response.mensaje, {
                                                classes: ["gray"],
                                                autoHide: true
                                    });
                              }else{
                  
                                  $.each(response.mensaje,function(i,ele){
                                      output += '<div class="alert">'  + ele +'</div>'
                              });
                              }
                              var time = response.mensaje.length * 400;
                              setTimeout(function(){
                                  $("#errors").find('div.alert').hide('fade',{},350)
              
                          },time);

                      }
          
 
                });
    
                                                </script>

